Embedded Unit Testing Framework
نویسنده
چکیده
This thesis addresses the challenges with unit testing of embedded software. Embedded software uses peripheral devices that are not available during testing, which results in higher barriers to use unit testing, compared to normal software. But even with these barriers there are no problems with unit testing of embedded software. The study looks at challenges with unit testing of Energy Micros software library, and solutions to the problems with automated testing of embedded software. Use of automated testing will reduce the number of errors when code is refactored. Use of unit testing will also make it possible to take advantage of agile methods like test-driven development. The main goals for the study is to see if CMock is suitable for generation of mock modules and if testing with mock modules can reduce the number of errors in software. Unity is a test harness that supports the needed assertions for testing of embedded software. CMock is able to automatic generate mock modules, but has a few problems with inline functions and custom types, but it is possible to solve these problems. Even with these problems CMock is able to generate mock modules that is working, and supports the testing of embedded software. An experiment was performed to see if testing of embedded software with mock modules could reduce the number of errors. The result was significant and showed that the number of errors was reduced by using mock modules, compared development without testing. Observations were also done during the experiment, which found some problems with use of mock modules during testing. The experiment was done by undergraduate students in computer science. Use of unit test and mock modules as a substitute for hardware during automated testing on a native computer, it is possible to reduce the numbers of errors and refactor code without breaking the existing functionality.
منابع مشابه
The Sulu Tools for Automated Testing
The Sulu programming language is a programming language inspired by Resolve; it uses the software component and an embedded design-by-contract formal specification as inputs to a unit testing system that provides a framework for automatically generating, executing and evaluating test cases. This paper describes the tools we constructed for the automated testing system, and a summary of an evalu...
متن کاملAn Automated Test Method for Robot Platform and Its Components
This paper presents a hierarchical test model and automated test framework for robot software components of RTC(Robot Technology Component) combined with hardware module. The hierarchical test model consists of three levels of testing based on V-model : unit test, integration test, and system test. The automated test framework incorporates four components of test data generation, test manager, ...
متن کاملA Formal Methodology to Test Complex Embedded Systems: Application to Interactive Driving Systems
Complex embedded systems may integrate heterogeneous components. Each component can be defined by using a different specification formalism, or in terms of other components. In order to test the conformance of an implementation with respect to a specification we can use a different testing methodology for each of the (different group of) components. Still, this approach might overlook details r...
متن کاملModel-based Kernel Testing for Concurrency Bugs through Counter Example Replay
Despite the growing need for customized operating system kernels for embedded devices, kernel development continues to suffer from high development and testing costs for several reasons, including the high complexity of the kernel code, the infeasibility of unit testing, exponential numbers of concurrent behaviors, and a lack of proper tool support. To alleviate these difficulties, this study p...
متن کاملExtending the Embedded System E-TDDunit Test Driven Development Tool for Development of a Real Time Video Security System Prototype
Despite the existence of 75 " different " xUNIT frameworks, their domain of application differs only in the programming language, compiler or operating system supported. If one is working in the embedded world, unit testing is still needed, but now our " testing requirements " differ significantly from the testing framework needed for the desktop world. Embedded systems often have significant n...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013